package io.datajek.springbasics.movierecommendersystem.lesson11;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Component;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;

@Component
public class RecommenderImplementation {
    private Logger logger =
            LoggerFactory.getLogger(this.getClass());
    //根据名字的自动装配
   // @Autowired
    //@Qualifier("CBF")
    private Filter filter;

    @Autowired
    public void setFilter(Filter filter) {
        logger.info("In RecommenderImplementation setter method..dependency injection");
        this.filter = filter;
    }

    //使用过滤器来获得推荐
    public String[]recommendMovies(String movie){

        //打印正在使用的接口实现的名称
        System.out.println("\nName of the filter in use: " + filter + "\n");

        String[] results = filter.getRecommendations("Finding Dory");

        // 返回结果
        return results;
    }
    @PostConstruct
    public void postConstruct(){
    //初始化代码放这里
    logger.info("In RecommenderImplementation postConstruct method");
    }
        @PreDestroy
        public void preDestroy() {
            //用于清理的代码
            logger.info("In RecommenderImplementation preDestroy method");
        }


}
